Virtueld: Discord関連機能の更新概要
/icons/hr.icon
直近の更新概要
この概要内での重複情報は1つにまとめます。
0.3.222以降
基礎的な同期のためのメカニズムを改善することについて集中的に取り組んでいます。
細かく進展していますが、根本を打破するには至っていません。
これにより、ほかの課題が保留状態になっています。そこで現状を把握する範囲で集約してみました。
現在、以下のような現象を観測しています。
ロビー検索で相手のロビーに入ったとき、相手側に受けて立つが出ないことがあります。
ロビー検索に相手のロビーが出てから受けて立つをした方が安定します。
タイミングで安定しないという課題があります。
一度降伏🔻Yieldのあとに、再び双方のReady👊すると、対戦が正常に開始しないことがあります。
この場合、対戦中の通信状態情報が表示されません。
一度降伏🔻Yieldのあとに、再び双方のReady👊すると、一方がReady👊の状態から進まないことがあります。
このあと、双方の動作の不一致が継続することがあります。
Discord関連によって画面が遷移した後に、Backで正しい画面に移動できなくなることがあります。
内部的な現象(公開版で表面的に観測できないもの)
内部的にDiscord関連にてInternalError/InvalidCommandとなっていることがあり、試行を続けているうちにViertueldのクラッシュ(突然ゲームアプリが終了する)に至ることがあります。
VFX (Visual Effect Graph)にて、ComputeShader.cppで発生する連続したエラーログThread group size must be above zeroを引き起こす使用状況が継続しています。
仕様: 通信遅延が大きいときには、降伏🔻Yieldの伝達も遅れます。
0.3.161以降
🔎👤🆚👤にて、ロビーの保守の動作を調整しました。[F9]キーの動作を改善しました。
まだ安定しない部分については、調査中です。
🏠Lobby画面にて、デバッグ設定に関わらずデバッグUIを常に非表示にしました。暫定
デバックツールバーは引き続き利用できます。
デバッグUIの内容の多くはDiscord関連機能とは異なる試験的機能で、現在は更新対象外になっています。混乱を減らすため、デバッグUIをまとめて非表示としました。
0.3.159以降
🔎👤🆚👤にて、ロビー出入りの動作を調整しました。
相手のロビーへの出入りにて、基本的な動作が安定したようです。[F9]の動作は調整が必要になっているので、対応を検討中です。
0.3.156以降
ロビーの保守と検索の動作を改善しました。
これまでより基本的な部分で安定しました。まだ一部の動作には問題が見られるので調整を検討しています。
0.3.105以降
戦闘に関する挙動を調整しました。
👤🆚👤の同期に関する試行でもあり、戦闘全体への多少の影響がある変更です。
🏠Lobbyからの👤Character Selectionでは、キャラクターのロード後に👤Character Selectionを継続するようにしました。当面、連続してキャラクターのロードを試すことや事前選択することに特化した画面とします。
0.3.101までの動作は以下の点で、取り残された状態になっていました。今後変更する可能性もありますが、少し位置づけを進展させました。
👤Character Selectionの中でP1とP2に異なるキャラクターを選択するためには、再び戻ってくる必要がありました。
後から追加されたほかの各戦闘モードに比べ、このキャラクター選択後の戦闘モードの位置づけがあいまいになっていました。
0.3.101以降
Unityを更新しました。試験的
Unity 2019.2.2f1➡Unity 2019.3.0b1を試行してみたところ、明らかな問題が見られなかったので暫定で移行します。必要があれば戻す可能性はあります。
👤🆚👤`の同期関連を調整しました。
ラウンド開始の動作を調整しました。
0.3.97以降
👤🆚👤にて、戦闘に関する通信の同期処理を調整しました。ラウンド開始の安定性のための調整をしました。本来損失パケットではないものを計上するような動作について調整を試みました。
👤🆚👤にて、体重計測の処理完了までReady👊を操作できないようにしました。
0.3.88以降
カメラの設定を変更し、👤🆚👤`での同期時の動作を改善しました。
追加ゲームインスタンス起動[F10]キーを追加しました。
👤🆚👤の同期を調整しました。
戦闘に関する通信の同期処理を調整しました。
0.3.75以降
👤🆚👤の同期を調整しました。遅延補正の動作をより適切な処理にしました。
同期のための情報を観測するエディタ機能を用意して、調査中です。0.3.75現在プレイヤー入力は同期している一方で、座標系などの状態が適切ではないようです。これについての調査を予定しています。
0.3.65以降
👤🆚👤の同期を調整しました。同期ずれと遅延蓄積を回避する目的でオンライン対戦時の動作を調整しています。ゲームプレイ部分の時間進行を制御するため、通信状況などによって視覚的にある程度、かくつくことがあります。
全体としての同期の完全性は調整中です。
上記を踏まえて、暫定ですべて通信(パケット)を信頼性ありに設定を変更しました。
パケットの信頼性の有無は、以下のどちらの方針でオンラインプレイを作るかで揺れる部分でもあると考えています。
完全同期方式: 各クライアント上で同じゲームプレイになるために必要な情報を共有して、ゲームワールドを進展させる。目立った通信遅延があれば情報が届くまでゲーム進行を中断し、入力から応答までの遅延を体感することになります。パケットロス/通信遅延には弱い方式です。
補正方式: パケットロス/通信遅延を隠し、体感上の滑らかさ(入力から応答までの遅延が少なく安定)を優先する方法です。補正にはごまかしが必要になるため、複雑な状態を持ち、共有すべき情報量が多いゲームシステムでは、自然な補正の実現は困難が伴い、採用は難しいかとも考えています。
ここでの「複雑な状態を持ち、共有すべき情報量が多いゲームシステム」の尺度に対するイメージ
簡素: 位置/回転などのみのキャラクター制御
複雑: アニメーション遷移+身体部位ごとのゲーム物理ありのキャラクター制御
0.3.65現在: Virtueldにあるゲームプレイモードは複雑寄り。
0.3.38以降
👤🆚👤のDiscordロビー管理/検索で継続稼働時の問題について調整しました。
👤🆚👤メニューからの👤Character Selectionにて、特定条件でロビー検索に戻ってしまう動作が起きていたのため、調整をしました。たとえば、キャラクターロードを中止し、その次のロード後の一部など。
0.3.37以降
Discordインスタンスの切り替え[F9]キーの動作を一部調整しました。
Localキャラクターをロードしたときに、👤🆚👤関連に備えた動作に不具合があったため修正しました。
👤🆚👤メニューから👤Character Selectionを開いているとき、VRoid Hub連携など、特定の別画面扱いの操作を行うと、ロビー検索に戻ってしまう動作を修正しました。
キャラクターのロードを中止したときの動作を一部修正しました。
👤🆚👤メニューにて、あなたが選択したキャラクターのロードが中止または失敗した場合と、相手が選択したキャラクターのロードが中止または失敗した場合に、その旨のメッセージを表示して、Ready👊を☐にして、解決までReady👊を☑できないようにしました。
0.3.29以降
👤🆚👤を更新しました。
0.3.28のReady👊後の誤動作を修正しました。
👤🆚👤メニューから👤Character Selectionを開いたときに、特定条件でロビー検索に戻ってしまう動作を修正しました。
0.3.28以降
👤🆚👤メニューから開く👤Character SelectionでのUI移動を調整しました。
👤🆚👤を更新しました。動作調整中
👤Character Selectionからキャラクターのロード開始時に、同期を開始するようにしました。
相手のシステムにて、あなたのキャラクターのロードに失敗した場合、👤Character Selection画面を開き、その旨のメッセージを表示するようにしました。
0.3.18以降
👤Character Selectionを更新しました。
Bundledトグルを☐で同梱Bundledキャラクターがリストから消えるようにしました。
開いたときにキャラクターリストをリロードするようにしました。
キャラクターリストの順序を調整しました。
フィルタの初期設定を☑同梱Bundledキャラクターにしました。
0.3.17以降
画面切り替え動作を調整しました。
👤Character Selectionにて、Bundledトグルを追加しました。同梱Bundledキャラクターの選択に対応しました。
0.3.9以降
👤🆚👤メニューを更新しました。
P1専用のキャラクター選択を開く👤Character Selectionボタンを追加しました。
開くときReady👊は解除されます。
ここから開く👤Character Selection画面にP1/P2トグルとLocalトグルはありません。
👤Character Selection画面を開いている間は、相手のキャラクター選択の同期は保留します。
LocalのVRMファイルのキャラクターを選択している場合、Ready👊を✅することはできません。👤Character Selectionにて、別のキャラクターを選択してください。これについてメッセージ表示もあります。
キャラクターを選択しロードすると👤🆚👤メニューに戻り、相手側にもロードされます。
0.3.0以降
降伏🔻Yieldの表記を変更しました。
🏠Lobby画面にて、ロビー検索を開くボタンの表記を🔎👤🆚👤に変更しました。
🏠Lobby画面にて、💬Discordボタンを追加しました。DiscordのVirtueldサーバー公開チャンネルへの招待です。Discordアクティビティやマッチングなど、加えて今後のゲームプレイ/ゲーム体験の改良の参考にさせていただければと思います。 お気軽にご参加ください☺ 0.2.399以降
降伏🔻Yieldの同期方法を変更しました。(後述)
安定動作のための調整中を進めています。
0.2.397以降
👤🆚👤画面にて、通信遅延の回復に仮対応しました。(後述)
0.2.391以降
👤🆚👤画面にて、暫定的なDiscord経由オンライン対戦の動作が可能になりました。(未対応な要素を含め後述)
👤🆚👤メニューにて、部分的にキャラクター選択の同期に対応しました。(未対応な要素を含め後述)
0.2.383以降
👤🆚👤画面にて、通信状態の情報を更新しました。
0.2.371以降
表記調整と多言語化
0.2.364以降
果たし状🎯Cartelに対しての断る✖Declineを追加しました。(後述)
果たし状🎯Cartelに対して受けて立つの🎮ゲームパッド操作はR₃に変更しました。
🎮ゲームパッドL₃長押しで降伏🔻Yieldできるようになりました。
0.2.346以降
果たし状🎯Cartelのクリックで受けて立つことができるようになりました。(後述)
0.2.329以降
対象Discordインスタンスを0/1/2の3つにしました。(後述)
より複雑な状況を通信状況をテストするため、2つから3つにしました。なお、当面の開発対象は、1対1の対戦、ロビー定員2人までです。インスタンスの割り当て動作は調整中です。[F9]で割り当てインスタンスを調整してから、追加のVirtueldを起動をするとうまくいくようです。
果たし状🎯Cartel機能を追加しました。(後述)
0.2.324以降
一部アクティビティの内容を更新しました。
0.2.296以降
Discordアバターをキャッシュするようにしました。(各Virtueld実行終了まで)